package org.linlinjava.litemall.db.domain;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;

public class LitemallBill {

    public static final Boolean IS_DELETED = Deleted.IS_DELETED.value();

    public static final Boolean NOT_DELETED = Deleted.NOT_DELETED.value();


    private Integer id;
    private String num;
    private Integer brandId;
    private String brandName;
    private String receiptUrl;
    private Short status;
    private LocalDate addTime;
    private BigDecimal brandCoupon;
    private BigDecimal refundPrice;
    private Boolean deleted;
    private Integer orderId;
    private String orderSn;
    private BigDecimal orderPrice;
    private BigDecimal couponPrice;
    private LocalDateTime orderConfirmTime;
    private BigDecimal actualPrice;
    private BigDecimal income;
    private BigDecimal invoicePrice;
    private BigDecimal scalperPrice;
    private BigDecimal brandIncome;
    private Integer invoiceId;
    private Integer hasScalper;
    private String customerInvitation;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.id
     *
     * @return the value of litemall_bill.id
     *
     * @mbg.generated
     */
    public Integer getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.id
     *
     * @param id the value for litemall_bill.id
     *
     * @mbg.generated
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.num
     *
     * @return the value of litemall_bill.num
     *
     * @mbg.generated
     */
    public String getNum() {
        return num;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.num
     *
     * @param num the value for litemall_bill.num
     *
     * @mbg.generated
     */
    public void setNum(String num) {
        this.num = num;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.brand_id
     *
     * @return the value of litemall_bill.brand_id
     *
     * @mbg.generated
     */
    public Integer getBrandId() {
        return brandId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.brand_id
     *
     * @param brandId the value for litemall_bill.brand_id
     *
     * @mbg.generated
     */
    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.brand_name
     *
     * @return the value of litemall_bill.brand_name
     *
     * @mbg.generated
     */
    public String getBrandName() {
        return brandName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.brand_name
     *
     * @param brandName the value for litemall_bill.brand_name
     *
     * @mbg.generated
     */
    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.receipt_url
     *
     * @return the value of litemall_bill.receipt_url
     *
     * @mbg.generated
     */
    public String getReceiptUrl() {
        return receiptUrl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.receipt_url
     *
     * @param receiptUrl the value for litemall_bill.receipt_url
     *
     * @mbg.generated
     */
    public void setReceiptUrl(String receiptUrl) {
        this.receiptUrl = receiptUrl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.status
     *
     * @return the value of litemall_bill.status
     *
     * @mbg.generated
     */
    public Short getStatus() {
        return status;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.status
     *
     * @param status the value for litemall_bill.status
     *
     * @mbg.generated
     */
    public void setStatus(Short status) {
        this.status = status;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.add_time
     *
     * @return the value of litemall_bill.add_time
     *
     * @mbg.generated
     */
    public LocalDate getAddTime() {
        return addTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.add_time
     *
     * @param addTime the value for litemall_bill.add_time
     *
     * @mbg.generated
     */
    public void setAddTime(LocalDate addTime) {
        this.addTime = addTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.brand_coupon
     *
     * @return the value of litemall_bill.brand_coupon
     *
     * @mbg.generated
     */
    public BigDecimal getBrandCoupon() {
        return brandCoupon;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.brand_coupon
     *
     * @param brandCoupon the value for litemall_bill.brand_coupon
     *
     * @mbg.generated
     */
    public void setBrandCoupon(BigDecimal brandCoupon) {
        this.brandCoupon = brandCoupon;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.refund_price
     *
     * @return the value of litemall_bill.refund_price
     *
     * @mbg.generated
     */
    public BigDecimal getRefundPrice() {
        return refundPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.refund_price
     *
     * @param refundPrice the value for litemall_bill.refund_price
     *
     * @mbg.generated
     */
    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    public void andLogicalDeleted(boolean deleted) {
        setDeleted(deleted ? Deleted.IS_DELETED.value() : Deleted.NOT_DELETED.value());
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.deleted
     *
     * @return the value of litemall_bill.deleted
     *
     * @mbg.generated
     */
    public Boolean getDeleted() {
        return deleted;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.deleted
     *
     * @param deleted the value for litemall_bill.deleted
     *
     * @mbg.generated
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.order_id
     *
     * @return the value of litemall_bill.order_id
     *
     * @mbg.generated
     */
    public Integer getOrderId() {
        return orderId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.order_id
     *
     * @param orderId the value for litemall_bill.order_id
     *
     * @mbg.generated
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.order_sn
     *
     * @return the value of litemall_bill.order_sn
     *
     * @mbg.generated
     */
    public String getOrderSn() {
        return orderSn;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.order_sn
     *
     * @param orderSn the value for litemall_bill.order_sn
     *
     * @mbg.generated
     */
    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.order_price
     *
     * @return the value of litemall_bill.order_price
     *
     * @mbg.generated
     */
    public BigDecimal getOrderPrice() {
        return orderPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.order_price
     *
     * @param orderPrice the value for litemall_bill.order_price
     *
     * @mbg.generated
     */
    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.coupon_price
     *
     * @return the value of litemall_bill.coupon_price
     *
     * @mbg.generated
     */
    public BigDecimal getCouponPrice() {
        return couponPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.coupon_price
     *
     * @param couponPrice the value for litemall_bill.coupon_price
     *
     * @mbg.generated
     */
    public void setCouponPrice(BigDecimal couponPrice) {
        this.couponPrice = couponPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.order_confirm_time
     *
     * @return the value of litemall_bill.order_confirm_time
     *
     * @mbg.generated
     */
    public LocalDateTime getOrderConfirmTime() {
        return orderConfirmTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.order_confirm_time
     *
     * @param orderConfirmTime the value for litemall_bill.order_confirm_time
     *
     * @mbg.generated
     */
    public void setOrderConfirmTime(LocalDateTime orderConfirmTime) {
        this.orderConfirmTime = orderConfirmTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.actual_price
     *
     * @return the value of litemall_bill.actual_price
     *
     * @mbg.generated
     */
    public BigDecimal getActualPrice() {
        return actualPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.actual_price
     *
     * @param actualPrice the value for litemall_bill.actual_price
     *
     * @mbg.generated
     */
    public void setActualPrice(BigDecimal actualPrice) {
        this.actualPrice = actualPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.income
     *
     * @return the value of litemall_bill.income
     *
     * @mbg.generated
     */
    public BigDecimal getIncome() {
        return income;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.income
     *
     * @param income the value for litemall_bill.income
     *
     * @mbg.generated
     */
    public void setIncome(BigDecimal income) {
        this.income = income;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.invoice_price
     *
     * @return the value of litemall_bill.invoice_price
     *
     * @mbg.generated
     */
    public BigDecimal getInvoicePrice() {
        return invoicePrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.invoice_price
     *
     * @param invoicePrice the value for litemall_bill.invoice_price
     *
     * @mbg.generated
     */
    public void setInvoicePrice(BigDecimal invoicePrice) {
        this.invoicePrice = invoicePrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.scalper_price
     *
     * @return the value of litemall_bill.scalper_price
     *
     * @mbg.generated
     */
    public BigDecimal getScalperPrice() {
        return scalperPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.scalper_price
     *
     * @param scalperPrice the value for litemall_bill.scalper_price
     *
     * @mbg.generated
     */
    public void setScalperPrice(BigDecimal scalperPrice) {
        this.scalperPrice = scalperPrice;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.brand_income
     *
     * @return the value of litemall_bill.brand_income
     *
     * @mbg.generated
     */
    public BigDecimal getBrandIncome() {
        return brandIncome;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.brand_income
     *
     * @param brandIncome the value for litemall_bill.brand_income
     *
     * @mbg.generated
     */
    public void setBrandIncome(BigDecimal brandIncome) {
        this.brandIncome = brandIncome;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.invoice_id
     *
     * @return the value of litemall_bill.invoice_id
     *
     * @mbg.generated
     */
    public Integer getInvoiceId() {
        return invoiceId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.invoice_id
     *
     * @param invoiceId the value for litemall_bill.invoice_id
     *
     * @mbg.generated
     */
    public void setInvoiceId(Integer invoiceId) {
        this.invoiceId = invoiceId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.has_scalper
     *
     * @return the value of litemall_bill.has_scalper
     *
     * @mbg.generated
     */
    public Integer getHasScalper() {
        return hasScalper;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.has_scalper
     *
     * @param hasScalper the value for litemall_bill.has_scalper
     *
     * @mbg.generated
     */
    public void setHasScalper(Integer hasScalper) {
        this.hasScalper = hasScalper;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column litemall_bill.customer_invitation
     *
     * @return the value of litemall_bill.customer_invitation
     *
     * @mbg.generated
     */
    public String getCustomerInvitation() {
        return customerInvitation;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column litemall_bill.customer_invitation
     *
     * @param customerInvitation the value for litemall_bill.customer_invitation
     *
     * @mbg.generated
     */
    public void setCustomerInvitation(String customerInvitation) {
        this.customerInvitation = customerInvitation;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", IS_DELETED=").append(IS_DELETED);
        sb.append(", NOT_DELETED=").append(NOT_DELETED);
        sb.append(", id=").append(id);
        sb.append(", num=").append(num);
        sb.append(", brandId=").append(brandId);
        sb.append(", brandName=").append(brandName);
        sb.append(", receiptUrl=").append(receiptUrl);
        sb.append(", status=").append(status);
        sb.append(", addTime=").append(addTime);
        sb.append(", brandCoupon=").append(brandCoupon);
        sb.append(", refundPrice=").append(refundPrice);
        sb.append(", deleted=").append(deleted);
        sb.append(", orderId=").append(orderId);
        sb.append(", orderSn=").append(orderSn);
        sb.append(", orderPrice=").append(orderPrice);
        sb.append(", couponPrice=").append(couponPrice);
        sb.append(", orderConfirmTime=").append(orderConfirmTime);
        sb.append(", actualPrice=").append(actualPrice);
        sb.append(", income=").append(income);
        sb.append(", invoicePrice=").append(invoicePrice);
        sb.append(", scalperPrice=").append(scalperPrice);
        sb.append(", brandIncome=").append(brandIncome);
        sb.append(", invoiceId=").append(invoiceId);
        sb.append(", hasScalper=").append(hasScalper);
        sb.append(", customerInvitation=").append(customerInvitation);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        LitemallBill other = (LitemallBill) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getNum() == null ? other.getNum() == null : this.getNum().equals(other.getNum()))
            && (this.getBrandId() == null ? other.getBrandId() == null : this.getBrandId().equals(other.getBrandId()))
            && (this.getBrandName() == null ? other.getBrandName() == null : this.getBrandName().equals(other.getBrandName()))
            && (this.getReceiptUrl() == null ? other.getReceiptUrl() == null : this.getReceiptUrl().equals(other.getReceiptUrl()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getAddTime() == null ? other.getAddTime() == null : this.getAddTime().equals(other.getAddTime()))
            && (this.getBrandCoupon() == null ? other.getBrandCoupon() == null : this.getBrandCoupon().equals(other.getBrandCoupon()))
            && (this.getRefundPrice() == null ? other.getRefundPrice() == null : this.getRefundPrice().equals(other.getRefundPrice()))
            && (this.getDeleted() == null ? other.getDeleted() == null : this.getDeleted().equals(other.getDeleted()))
            && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId()))
            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
            && (this.getOrderPrice() == null ? other.getOrderPrice() == null : this.getOrderPrice().equals(other.getOrderPrice()))
            && (this.getCouponPrice() == null ? other.getCouponPrice() == null : this.getCouponPrice().equals(other.getCouponPrice()))
            && (this.getOrderConfirmTime() == null ? other.getOrderConfirmTime() == null : this.getOrderConfirmTime().equals(other.getOrderConfirmTime()))
            && (this.getActualPrice() == null ? other.getActualPrice() == null : this.getActualPrice().equals(other.getActualPrice()))
            && (this.getIncome() == null ? other.getIncome() == null : this.getIncome().equals(other.getIncome()))
            && (this.getInvoicePrice() == null ? other.getInvoicePrice() == null : this.getInvoicePrice().equals(other.getInvoicePrice()))
            && (this.getScalperPrice() == null ? other.getScalperPrice() == null : this.getScalperPrice().equals(other.getScalperPrice()))
            && (this.getBrandIncome() == null ? other.getBrandIncome() == null : this.getBrandIncome().equals(other.getBrandIncome()))
            && (this.getInvoiceId() == null ? other.getInvoiceId() == null : this.getInvoiceId().equals(other.getInvoiceId()))
            && (this.getHasScalper() == null ? other.getHasScalper() == null : this.getHasScalper().equals(other.getHasScalper()))
            && (this.getCustomerInvitation() == null ? other.getCustomerInvitation() == null : this.getCustomerInvitation().equals(other.getCustomerInvitation()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getNum() == null) ? 0 : getNum().hashCode());
        result = prime * result + ((getBrandId() == null) ? 0 : getBrandId().hashCode());
        result = prime * result + ((getBrandName() == null) ? 0 : getBrandName().hashCode());
        result = prime * result + ((getReceiptUrl() == null) ? 0 : getReceiptUrl().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getAddTime() == null) ? 0 : getAddTime().hashCode());
        result = prime * result + ((getBrandCoupon() == null) ? 0 : getBrandCoupon().hashCode());
        result = prime * result + ((getRefundPrice() == null) ? 0 : getRefundPrice().hashCode());
        result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
        result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
        result = prime * result + ((getOrderPrice() == null) ? 0 : getOrderPrice().hashCode());
        result = prime * result + ((getCouponPrice() == null) ? 0 : getCouponPrice().hashCode());
        result = prime * result + ((getOrderConfirmTime() == null) ? 0 : getOrderConfirmTime().hashCode());
        result = prime * result + ((getActualPrice() == null) ? 0 : getActualPrice().hashCode());
        result = prime * result + ((getIncome() == null) ? 0 : getIncome().hashCode());
        result = prime * result + ((getInvoicePrice() == null) ? 0 : getInvoicePrice().hashCode());
        result = prime * result + ((getScalperPrice() == null) ? 0 : getScalperPrice().hashCode());
        result = prime * result + ((getBrandIncome() == null) ? 0 : getBrandIncome().hashCode());
        result = prime * result + ((getInvoiceId() == null) ? 0 : getInvoiceId().hashCode());
        result = prime * result + ((getHasScalper() == null) ? 0 : getHasScalper().hashCode());
        result = prime * result + ((getCustomerInvitation() == null) ? 0 : getCustomerInvitation().hashCode());
        return result;
    }

    /**
     * This enum was generated by MyBatis Generator.
     * This enum corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    public enum Deleted {
        NOT_DELETED(new Boolean("0"), "未删除"),
        IS_DELETED(new Boolean("1"), "已删除");

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final Boolean value;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final String name;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        Deleted(Boolean value, String name) {
            this.value = value;
            this.name = name;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public Boolean getValue() {
            return this.value;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public Boolean value() {
            return this.value;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getName() {
            return this.name;
        }
    }

    /**
     * This enum was generated by MyBatis Generator.
     * This enum corresponds to the database table litemall_bill
     *
     * @mbg.generated
     */
    public enum Column {
        id("id", "id", "INTEGER", false),
        num("num", "num", "VARCHAR", false),
        brandId("brand_id", "brandId", "INTEGER", false),
        brandName("brand_name", "brandName", "VARCHAR", false),
        receiptUrl("receipt_url", "receiptUrl", "VARCHAR", false),
        status("status", "status", "SMALLINT", true),
        addTime("add_time", "addTime", "DATE", false),
        brandCoupon("brand_coupon", "brandCoupon", "DECIMAL", false),
        refundPrice("refund_price", "refundPrice", "DECIMAL", false),
        deleted("deleted", "deleted", "BIT", false),
        orderId("order_id", "orderId", "INTEGER", false),
        orderSn("order_sn", "orderSn", "VARCHAR", false),
        orderPrice("order_price", "orderPrice", "DECIMAL", false),
        couponPrice("coupon_price", "couponPrice", "DECIMAL", false),
        orderConfirmTime("order_confirm_time", "orderConfirmTime", "TIMESTAMP", false),
        actualPrice("actual_price", "actualPrice", "DECIMAL", false),
        income("income", "income", "DECIMAL", false),
        invoicePrice("invoice_price", "invoicePrice", "DECIMAL", false),
        scalperPrice("scalper_price", "scalperPrice", "DECIMAL", false),
        brandIncome("brand_income", "brandIncome", "DECIMAL", false),
        invoiceId("invoice_id", "invoiceId", "INTEGER", false),
        hasScalper("has_scalper", "hasScalper", "INTEGER", false),
        customerInvitation("customer_invitation", "customerInvitation", "VARCHAR", false);

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private static final String BEGINNING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private static final String ENDING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final String column;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final boolean isColumnNameDelimited;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final String javaProperty;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        private final String jdbcType;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String value() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getValue() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getJavaProperty() {
            return this.javaProperty;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getJdbcType() {
            return this.jdbcType;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
            this.column = column;
            this.javaProperty = javaProperty;
            this.jdbcType = jdbcType;
            this.isColumnNameDelimited = isColumnNameDelimited;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String desc() {
            return this.getEscapedColumnName() + " DESC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String asc() {
            return this.getEscapedColumnName() + " ASC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public static Column[] excludes(Column ... excludes) {
            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
            if (excludes != null && excludes.length > 0) {
                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
            }
            return columns.toArray(new Column[]{});
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getEscapedColumnName() {
            if (this.isColumnNameDelimited) {
                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
            } else {
                return this.column;
            }
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table litemall_bill
         *
         * @mbg.generated
         */
        public String getAliasedEscapedColumnName() {
            return this.getEscapedColumnName();
        }
    }
}